/**
 * 给定一个未排序的整数数组 nums ，找出数字连续的最长序列（不要求序列元素在原数组中连续）的长度。
 *
 * 请你设计并实现时间复杂度为O(n) 的算法解决此问题。
 *https://leetcode.cn/problems/longest-consecutive-sequence/
 */
class LongestConsecutive {
    public int longestConsecutive(int[] nums) {
        Set<Integer> set=new HashSet<>();
        for(int num:nums){
            set.add(num);
        }
        int count=0;
        for(int num:nums){
            if(!set.contains(num-1)){
                int curCount=1;
                int curNum=num;
                while(set.contains(curNum+1)){
                    curCount++;
                    curNum++;
                }
                count=Math.max(curCount,count);
            }
        }
        return count;
    }
}